package org.jeecg.modules.xindian.reconciliation.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.xindian.reconciliation.controller.req.UnCheckQuery;
import org.jeecg.modules.xindian.reconciliation.controller.rsp.UnCheckPolicyInfo;
import org.jeecg.modules.xindian.reconciliation.entity.InsuranceStatistics;
import org.jeecg.modules.xindian.reconciliation.entity.PolicySettlementTypeStatistics;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.xindian.reconciliation.enums.RelationType;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: 结算类型汇总保单关联
 * @Author: jeecg-boot
 * @Date:   2024-06-24
 * @Version: V1.0
 */
public interface IPolicySettlementTypeStatisticsService extends IService<PolicySettlementTypeStatistics> {
    void process(List<PolicySettlementTypeStatistics> statistics, String Id,String date, RelationType type);
    PolicySettlementTypeStatistics build(InsuranceStatistics insuranceStatistics, String settlementId, RelationType type, BigDecimal rate);

    PolicySettlementTypeStatistics queryByPolicyNo(String policyNo,String type);
    Map<String, PolicySettlementTypeStatistics>  queryByPolicyNos(List<String> policyNo);

    /**
     * 查询未确认的配置信息
     * @return
     */
    Page<UnCheckPolicyInfo>  queryUnCheckInfo(Page page, UnCheckQuery query);

    List<UnCheckPolicyInfo>  queryUnCheckInfoList(UnCheckQuery query);
    List<PolicySettlementTypeStatistics>   queryByDateAndPolicyNo(String date,List<String> policyNos);
    void selectCheck(String  id);
    void processPolicySettlement(String date);
}
